
package com.ibm.websphere.sib.webservices.wbmonsrv_wps_cell.commoneventinfrastructure_bus.service;

import javax.jws.Oneway;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.namespace.QName;
import org.oasis_open.docs.wsn.b_2.CreatePullPoint;
import org.oasis_open.docs.wsn.b_2.CreatePullPointResponse;
import org.oasis_open.docs.wsn.b_2.DestroyPullPoint;
import org.oasis_open.docs.wsn.b_2.DestroyPullPointResponse;
import org.oasis_open.docs.wsn.b_2.GetCurrentMessage;
import org.oasis_open.docs.wsn.b_2.GetCurrentMessageResponse;
import org.oasis_open.docs.wsn.b_2.GetMessages;
import org.oasis_open.docs.wsn.b_2.GetMessagesResponse;
import org.oasis_open.docs.wsn.b_2.Notify;
import org.oasis_open.docs.wsn.b_2.Subscribe;
import org.oasis_open.docs.wsn.b_2.SubscribeResponse;
import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
import org.oasis_open.docs.wsn.br_2.RegisterPublisherResponse;
import org.oasis_open.docs.wsrf.rp_2.GetResourcePropertyResponse;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.1.6 in JDK 6
 * Generated source version: 2.1
 * 
 */
@WebService(name = "NotificationBroker", targetNamespace = "http://www.ibm.com/websphere/wsn/notification-broker")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@XmlSeeAlso({
    org.oasis_open.docs.wsrf.rp_2.ObjectFactory.class,
    org.oasis_open.docs.wsrf.bf_2.ObjectFactory.class,
    org.oasis_open.docs.wsn.t_1.ObjectFactory.class,
    org.oasis_open.docs.wsn.b_2.ObjectFactory.class,
    org.oasis_open.docs.wsrf.r_2.ObjectFactory.class,
    org.oasis_open.docs.wsn.br_2.ObjectFactory.class
})
public interface NotificationBroker {


    /**
     * 
     * @param getResourcePropertyRequest
     * @return
     *     returns org.oasis_open.docs.wsrf.rp_2.GetResourcePropertyResponse
     * @throws InvalidResourcePropertyQNameFault
     * @throws ResourceUnavailableFault
     * @throws ResourceUnknownFault
     */
    @WebMethod(operationName = "GetResourceProperty")
    @WebResult(name = "GetResourcePropertyResponse", targetNamespace = "http://docs.oasis-open.org/wsrf/rp-2", partName = "GetResourcePropertyResponse")
    public GetResourcePropertyResponse getResourceProperty(
        @WebParam(name = "GetResourceProperty", targetNamespace = "http://docs.oasis-open.org/wsrf/rp-2", partName = "GetResourcePropertyRequest")
        QName getResourcePropertyRequest)
        throws InvalidResourcePropertyQNameFault, ResourceUnavailableFault, ResourceUnknownFault
    ;

    /**
     * 
     * @param notify
     */
    @WebMethod(operationName = "Notify")
    @Oneway
    public void notify(
        @WebParam(name = "Notify", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "Notify")
        Notify notify);

    /**
     * 
     * @param subscribeRequest
     * @return
     *     returns org.oasis_open.docs.wsn.b_2.SubscribeResponse
     * @throws UnrecognizedPolicyRequestFault
     * @throws TopicExpressionDialectUnknownFault
     * @throws InvalidMessageContentExpressionFault
     * @throws NotifyMessageNotSupportedFault
     * @throws ResourceUnknownFault
     * @throws UnacceptableInitialTerminationTimeFault
     * @throws UnsupportedPolicyRequestFault
     * @throws InvalidFilterFault
     * @throws SubscribeCreationFailedFault
     * @throws InvalidTopicExpressionFault
     * @throws InvalidProducerPropertiesExpressionFault
     * @throws TopicNotSupportedFault
     */
    @WebMethod(operationName = "Subscribe")
    @WebResult(name = "SubscribeResponse", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "SubscribeResponse")
    public SubscribeResponse subscribe(
        @WebParam(name = "Subscribe", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "SubscribeRequest")
        Subscribe subscribeRequest)
        throws InvalidFilterFault, InvalidMessageContentExpressionFault, InvalidProducerPropertiesExpressionFault, InvalidTopicExpressionFault, NotifyMessageNotSupportedFault, ResourceUnknownFault, SubscribeCreationFailedFault, TopicExpressionDialectUnknownFault, TopicNotSupportedFault, UnacceptableInitialTerminationTimeFault, UnrecognizedPolicyRequestFault, UnsupportedPolicyRequestFault
    ;

    /**
     * 
     * @param getCurrentMessageRequest
     * @return
     *     returns org.oasis_open.docs.wsn.b_2.GetCurrentMessageResponse
     * @throws TopicExpressionDialectUnknownFault
     * @throws MultipleTopicsSpecifiedFault
     * @throws NoCurrentMessageOnTopicFault
     * @throws ResourceUnknownFault
     * @throws InvalidTopicExpressionFault
     * @throws TopicNotSupportedFault
     */
    @WebMethod(operationName = "GetCurrentMessage")
    @WebResult(name = "GetCurrentMessageResponse", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "GetCurrentMessageResponse")
    public GetCurrentMessageResponse getCurrentMessage(
        @WebParam(name = "GetCurrentMessage", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "GetCurrentMessageRequest")
        GetCurrentMessage getCurrentMessageRequest)
        throws InvalidTopicExpressionFault, MultipleTopicsSpecifiedFault, NoCurrentMessageOnTopicFault, ResourceUnknownFault, TopicExpressionDialectUnknownFault, TopicNotSupportedFault
    ;

    /**
     * 
     * @param registerPublisherRequest
     * @return
     *     returns org.oasis_open.docs.wsn.br_2.RegisterPublisherResponse
     * @throws ResourceUnknownFault
     * @throws UnacceptableInitialTerminationTimeFault
     * @throws PublisherRegistrationRejectedFault
     * @throws PublisherRegistrationFailedFault
     * @throws InvalidTopicExpressionFault
     * @throws TopicNotSupportedFault
     */
    @WebMethod(operationName = "RegisterPublisher")
    @WebResult(name = "RegisterPublisherResponse", targetNamespace = "http://docs.oasis-open.org/wsn/br-2", partName = "RegisterPublisherResponse")
    public RegisterPublisherResponse registerPublisher(
        @WebParam(name = "RegisterPublisher", targetNamespace = "http://docs.oasis-open.org/wsn/br-2", partName = "RegisterPublisherRequest")
        RegisterPublisher registerPublisherRequest)
        throws InvalidTopicExpressionFault, PublisherRegistrationFailedFault, PublisherRegistrationRejectedFault, ResourceUnknownFault, TopicNotSupportedFault, UnacceptableInitialTerminationTimeFault
    ;

    /**
     * 
     * @param createPullPointRequest
     * @return
     *     returns org.oasis_open.docs.wsn.b_2.CreatePullPointResponse
     * @throws UnableToCreatePullPointFault
     */
    @WebMethod(operationName = "CreatePullPoint")
    @WebResult(name = "CreatePullPointResponse", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "CreatePullPointResponse")
    public CreatePullPointResponse createPullPoint(
        @WebParam(name = "CreatePullPoint", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "CreatePullPointRequest")
        CreatePullPoint createPullPointRequest)
        throws UnableToCreatePullPointFault
    ;

    /**
     * 
     * @param getMessagesRequest
     * @return
     *     returns org.oasis_open.docs.wsn.b_2.GetMessagesResponse
     * @throws ResourceUnknownFault
     */
    @WebMethod(operationName = "GetMessages")
    @WebResult(name = "GetMessagesResponse", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "GetMessagesResponse")
    public GetMessagesResponse getMessages(
        @WebParam(name = "GetMessages", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "GetMessagesRequest")
        GetMessages getMessagesRequest)
        throws ResourceUnknownFault
    ;

    /**
     * 
     * @param destroyPullPointRequest
     * @return
     *     returns org.oasis_open.docs.wsn.b_2.DestroyPullPointResponse
     * @throws UnableToDestroyPullPointFault
     */
    @WebMethod(operationName = "DestroyPullPoint")
    @WebResult(name = "DestroyPullPointResponse", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "DestroyPullPointResponse")
    public DestroyPullPointResponse destroyPullPoint(
        @WebParam(name = "DestroyPullPoint", targetNamespace = "http://docs.oasis-open.org/wsn/b-2", partName = "DestroyPullPointRequest")
        DestroyPullPoint destroyPullPointRequest)
        throws UnableToDestroyPullPointFault
    ;

}
